package com.tudouji.project.harvest.service;

import com.tudouji.framework.web.domain.AjaxResult;
import com.tudouji.project.harvest.domain.Procurementcontract;

import java.util.List;

/**
 * 合同管理Service接口
 *
 * @author tudouji
 * @date 2021-04-07
 */
public interface IProcurementcontractService
{
    /**
     * 查询合同管理
     *
     * @param guid 合同管理ID
     * @return 合同管理
     */
    public Procurementcontract selectProcurementcontractById(String guid);

    /**
     * 查询合同管理列表
     *
     * @param procurementcontract 合同管理
     * @return 合同管理集合
     */
    public List<Procurementcontract> selectProcurementcontractList(Procurementcontract procurementcontract, String status, String functionType);

    /**
     * 新增合同管理
     *
     * @param procurementcontract 合同管理
     * @return 结果
     */
    public int insertProcurementcontract(Procurementcontract procurementcontract);

    /**
     * 修改合同管理
     *
     * @param procurementcontract 合同管理
     * @return 结果
     */
    public int updateProcurementcontract(Procurementcontract procurementcontract);

    /**
     * 批量删除合同管理
     *
     * @param guids 需要删除的合同管理ID
     * @return 结果
     */
    public int deleteProcurementcontractByIds(String[] guids);

    /**
     * 删除合同管理信息
     *
     * @param guid 合同管理ID
     * @return 结果
     */
    public int deleteProcurementcontractById(String guid);

    AjaxResult save(Procurementcontract entity, String fileIds, Long taskid, String opinion);

    AjaxResult approval(Long id, Long taskid, String opinion, String fileIds);
    AjaxResult finance(Long id, Long taskid, String opinion, String fileIds, Procurementcontract entity);
    AjaxResult finish(Long id);

    AjaxResult refuse(Long id, String fileIds, String opinion, Long taskid, Long refuseNodeid, Long backUserid);

    AjaxResult del(Long id);
}
